package logica.peliculas;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random;
import java.util.TreeMap;

import ValueObjects.VOPelicula;

public class Peliculas implements Serializable {
	
	private static final long serialVersionUID = 1L;
	private TreeMap <String, Pelicula> abb;

	public Peliculas() {
		this.abb = new TreeMap<String, Pelicula>();
	}	
	
	public void insert(Pelicula pelicula){
		this.abb.put(pelicula.getTitulo(), pelicula);		
	}
	
	public boolean member(String titulo){
		return abb.containsKey(titulo);
	}
	
	public Pelicula find(String titulo){
		return abb.get(titulo);		
	}
	
	public int cantidadPeliculas(){
		return abb.size();
	}
	
	public VOPelicula[] listarOrdenado(){
		 
		Iterator<Pelicula> iter = this.abb.values().iterator();
		VOPelicula[] arr = new VOPelicula[this.abb.size()];
		int posicion = 0;
		
		while(iter.hasNext()){
			Pelicula xoPelicula = iter.next(); 
			VOPelicula vp = new VOPelicula(xoPelicula.getTitulo(),xoPelicula.getDescripcion());
		    arr[posicion] = vp;
		    posicion++;
		}				
		
		return arr;
	}
	
	public Pelicula soretarPelicula(){
		
		
		Random rand = new Random();
		Pelicula xoPelicua=new Pelicula();
		VOPelicula[] pelicula=listarOrdenado();
		ArrayList<String> Titulos=new ArrayList<String>();
		for(int i=0;i<pelicula.length;i++){
			Titulos.add(pelicula[i].getTitulo());
		}
		
		int x = rand.nextInt(Titulos.size());
	
		String titulo=Titulos.get(x);
		xoPelicua=abb.get(titulo);
		    
	        return xoPelicua;
	    }
	  
	}
	
	
	

